package com.xinkao.example.config.base;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @Description 通用业务处理接口
 * @Author
 * @Date 2019/2/20 15:13
 * @Param
 * @Return
 */
public interface BaseService<T> extends IService<T> {

    /**
     * @Description 分页查询
     * @Authors
     * @Date 2019/2/20 15:14
     * @Param [entity]
     * @Return java.util.List<T>
     */
    JSONObject list4Page(JSONObject jsonObject);

    /**
     * @Description 根据条件查询列表
     * @Author
     * @Date 2019/2/21 9:28
     * @Param [entity]
     * @Return java.util.List<T>
     */
    JSONObject listByCondition(JSONObject params);

    /**
     * @Description 逻辑删除多条记录
     * @Author
     * @Date 2019/2/21 9:28
     * @Param [id]
     * @Return java.lang.Integer
     */
    JSONObject deleteLogic(List<String> ids, String userId);

    /**
     * @Description 根据id查询详情
     * @Author
     * @Date 2019/2/23 16:15
     * @Param [id]
     * @Return T
     */
    JSONObject queryOneById(String id);

    /**
     * @Description 保存或修改
     * @Author
     * @Date 2019/2/23 16:15
     * @Param [id]
     * @Return T
     */
    JSONObject insertOrEdit(T entity);
}
